Network nodes are capable of receiving and forwarding packets. Network nodes may take form in one or more routers, one or more bridges, one or more switches, one or more servers, or any other suitable communications processing device. A packet is a formatted unit of data that typically contains control information and payload data. Control information may include, for example: source and destination IP addresses, error detection codes like checksums, sequencing information, and the like. Control information is typically found in packet headers and trailers, and payload data is typically found in between the headers and trailers.
Packet forwarding involves decision processes that, while simple in concept, can be complex. Since packet forwarding decisions are handled by nodes, the total time required to perform packet forwarding decision processes can become a major limiting factor in overall network performance.
Making packet forwarding decisions utilizes forwarding information that is distributed among nodes. Various mechanisms for distributing the forwarding information exist. Distributing forwarding information can be a complex endeavor involving numerous decisions regarding, for example, what forwarding information should be sent, which nodes should do the sending, to which nodes the forwarding information should be sent, and which protocols should be used for sending the forwarding information. Within an autonomous system, interior gateway protocols are used to distribute forwarding information.